package com.cuit.common;

import com.cuit.entity.User;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;


@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
    private String code;

    private Object msg;

    private Object data;

    /**
     * 创建一个表示成功操作的结果对象
     * 该方法用于生成一个结果对象，该对象的状态码表示成功（200），
     * 没有错误消息，并且不包含任何数据对象
     *
     * @return Result 一个表示操作成功的结果对象
     */
    public static Result success(){
        return new Result(Constants.CODE_200,"",null);
    }

    /**
     * 创建一个表示成功的结果对象，该对象包含成功数据
     * 此方法用于当操作成功时，封装返回给前端的数据结果
     *
     * @param data 成功数据，可以是任何类型的对象
     * @return Result对象，包含状态码200、空消息和传入的成功数据
     */
    public static Result success(Object data){
        return new Result(Constants.CODE_200,"",data);
    }
public static Result success(User user, Object data){
    return new Result(Constants.CODE_200, user, data);
}


    public static Result error(String code,String msg){
        return new Result(code,msg,null);
    }

    public static Result error(){
        return new Result(Constants.CODE_500,"系统错误",null);
    }


}
